import { BASE_URL } from './env.js'; //引入接口共用地址
import { removeUserInfo } from './auth.js';
console.log('baseurl', BASE_URL);
export const request = (options) => {
  // console.log("请求地址", options);
  return new Promise((resolve, reject) => {
    // 获取用户令牌
    let token = uni.getStorageSync('token');

    // 设置请求头
    let header = {
      'Content-Type': 'application/json',
      timeout: 3000000,
      ...options.header // 可以传入额外的请求头参数
    };
    if (token) {
      header.Authorization = token;
    }
    // ⭐在发送请求之前执行拦截操作
    if (options.showLoading) uni.showLoading();
    uni.request({
      url: BASE_URL + options.url, //接收请求的API
      method: options.method || 'GET', //接收请求的方式,如果不传默认为GET
      data: options.data || {}, //接收请求的data,不传默认为空
      header: header, //接收请求的header
      requestType: options.requestType || 'json', //接收请求的返回类型,不传默认为json
      success(res) {
        // console.info('接口返回：', res);
        // 在这里处理接收到响应后处理响应数据
        if (res.data.code != 200 || !res.data.code) {
          if (res.data.code == 401) {
            const pages = getCurrentPages(); // 获取全部页面
            const currentPage = pages[pages.length - 1];
            removeUserInfo('userInfo');
            if (!currentPage.route.includes('login/login')) {
              uni.navigateTo({
                url: '/pages-sub/login/login'
              });
            }
          }
          if (res.statusCode === 200) {
            resolve(res); // 使用resolve将数据传递出去
            uni.hideLoading();
          }
        }

        resolve(res.data); // 使用resolve将数据传递出去
        uni.hideLoading();
      },
      fail: (err) => {
        // console.error("接口报错：", err);
        // uni.showToast({
        //   icon: "none",
        //   title: err,
        // });
        reject(err);
        uni.hideLoading();
      }
    });
  });
};
